Artificial intelligence system and method

ABSTRACT

The system for controlling an action of a character in a gaming environment, comprising, a receiver module arranged to receive input information, an update module arranged to apply the input information to modify at least one value pertaining to at least one state associated with the character, and an action determining module arranged to receive the at least one value pertaining to the at least one state, wherein the value is utilised to at least in part determine the action of the character within the gaming environment.

FIELD OF THE INVENTION

The present invention relates to an artificial intelligence system and method. Embodiments of the invention find particular, but not exclusive, application to computing systems which simulate interactions between a user and a virtual environment.

BACKGROUND OF THE INVENTION

Electronic (or computing based) gaming systems are well known. The last twenty to thirty years has seen an explosion in electronic gaming systems of various types. Fundamentally, all gaming systems utilise a computing system or other electronic device to stimulate a virtual environment, and generally require a player to perform a task or reach an objective.

Most gaming development has focussed on making game play more realistic. Many approaches have been taken to making games more realistic, including the development of graphics (images) which appear more realistic to the player, the addition of faster game-play engines (which allow the player to interact with the game in real time), the creation of complex storylines, and the development of interfaces which are more intuitive or more user friendly to the player (e.g. 3-dimensional imaging, specially designed key pads or consoles, surround sound, etc.)

However, the manner in which computer generated characters within the game behave has remained largely unchanged. Characters within a game are generally modelled as a finite state machine. In the present context, the term ‘character’ refers to any object within a game which is expected to react to or interact with a human player.

An example of a character may be a crocodile. The crocodile may be programmed by the game designer to perform some action in response to a stimulus (i.e. input from a player). A simple example of how a crocodile may behave in a gaming environment is shown by the pseudo-code below:

Loop: look for food if (found food) if (food is edible) eat food else if (target can carry) if (seen target before) attack steal food target was carrying else observe target

Although the finite-state model outlined above works well in the short term, the model does not provide the player with a challenge, since the player learns the response pattern of the character and can therefore take easy steps to circumvent the actions performed by the character, thereby easily outsmarting the character.

SUMMARY OF THE INVENTION

In a first aspect, the present invention provides a system for controlling an action of a character in a gaming environment, comprising, a receiver module arranged to receive input information, an update module arranged to apply the input information to modify at least one value pertaining to at least one state associated with the character, and an action determining module arranged to receive the at least one value pertaining to the at least one state, wherein the value is utilised to at least in part determine the action of the character within the gaming environment.

A goal-setting module may be arranged to apply the at least one value of the at least one state to set a goal to be performed by the character, wherein the goal in part determines the action of a character.

The goal-setting module may further assess a plurality of goals, and ranks each one of the plurality of goals in a hierarchy of importance.

The goal-setting module may also provide the goal with the highest importance to the action determining module, wherein only the supplied highest importance goal determines the actions of the character.

On receiving confirmation that the goal of highest importance has been achieved, the goal-setting module may provide the next goal in the hierarchy to the action determining module.

The action determining module may utilise the received goal and the at least one value of the at least one state to determine the action to be performed by the character.

The action determining module may also utilise a rule set to determine the action to be performed by the character.

The input information may include information derived from an interaction with another character in the gaming environment, information derived from an interaction with a human player in the gaming environment and/or information relating to an interaction with an object in the gaming environment.

There may be three states, including an Emotional state, a Persona state, and an Enmity state.

Each state includes a plurality of sub-states, wherein each sub-state may be quantified as a numerical value, such as a percentage value.

Each sub-state may be representative of a characteristic of human emotion.

The update module may further include a matrix update routine arranged to, according to a predetermined rule set, determine whether a change in one sub-state value effects a variation in at least one other sub-state value, and if so, updating the at least one other sub-state value.

For each character, the numeric value of each sub-state may be limited to a defined range of numeric values.

The system may further include an area module, arranged to receive at least one value pertaining to the at least one state of at least one character within a defined area in the virtual environment, and produce an average value of the at least one value pertaining to the at least one state, wherein the average value is ascribed to the defined area in the virtual environment.

The average value of the defined area in the virtual environment may be provided as input information to the update module when a character enters the defined area in the virtual environment.

In a second aspect, the present invention provides a method for controlling an action of a character in a gaming environment, comprising the steps of receiving input information, applying the input information to modify at least one value pertaining to at least one state associated with the character, and utilising the at least one value pertaining to the at least one state to at least in part determine the action of the character within the gaming environment.

In a third aspect, the present invention provides a computer program including instructions arranged to, when executed on a computing system, perform the method steps in accordance with a second aspect of the invention.

In a fourth aspect, the present invention provides a computer readable medium incorporating a computer program in accordance with a third aspect of the invention.

DETAILED DESCRIPTION OF THE DRAWINGS

Notwithstanding any other forms which may fall within the scope of the present invention, a preferred embodiment will now be described, by way of example only, with reference to the accompanying drawings in which:

FIG. 1 is an example of a computing system capable of operating an embodiment of the present invention; and

FIG. 2 is a flowchart depicting the components of a software application in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION OF A SPECIFIC EMBODIMENT Overview

At FIG. 1 there is shown a schematic diagram of a computing system 100 suitable for use with an embodiment of the present invention. The computing system 100 may be used to execute applications and/or system services such as a rental property management system in accordance with an embodiment of the present invention. The computing system 100 preferably comprises a processor 102, read only memory (ROM) 104, random access memory (RAM) 106, and input/output devices such as disk drives 108, keyboard 110, mouse 112, display 114, printer 116, and communications link 118. The computer includes programs that may be stored in RAM 106, ROM 104, or disk drives 108 and may be executed by the processor 102. The communications link 118 connects to a computer network such as the Internet but may be connected to a telephone line, an antenna, a gateway or any other type of communications link. Disk drives 108 may include any suitable storage media, such as, for example, floppy disk drives, hard disk drives, CD ROM drives or magnetic tape drives. The computing system 100 may use a single disk drive 108 or multiple disk drives. The computing system 100 may use any suitable operating systems, such as Windows™ or Unix™.

It will be understood that the computing system described in the preceding paragraphs is illustrative only, and that an embodiment of the present invention may be executed on any suitable computing system, with any suitable hardware and/or software.

In one embodiment, the present invention is implemented as a software application 120 which interacts with a database 122, arranged to be executable on the computing system 100.

The embodiment of the present invention relates to an artificial intelligence system and method. The embodiment will firstly be described herein with reference to the manner in which the embodiment is embodied in a software or hardware application. The actual working of the embodiment, when deployed within a computer game, will then be described.

DEFINITIONS

Some definitions are instructive. In the context of the presently described embodiment, the term ‘character’ refers to a computer (game) generated and controlled character within a game. That is, a character is wholly created and controlled by the software and/or hardware. The character is generally expressed in the game by the use of an avatar (i.e. a graphic or image that represents the character).

The term ‘player’ refers to a human user that is interacting with the game. The player will also be expressed as an avatar in the game. However, the player's avatar is solely controlled by the human user.

The term ‘object’ is used to denote any other item or ‘thing’ in the game which is inanimate and does not interact with characters or players in a direct way.

Overview Embodiment

The embodiment described herein utilises a definition of ‘culture’ to endow characters within a game with a real and malleable ‘personality’.

This is achieved by providing a system which allows characters (humanoid or otherwise) within a game to simulate a complex, rich and variable response to each interaction with other characters, players and objects.

The system is termed an ‘emotion based’ artificial intelligence system. The response of a character is determined by receiving information as a result of interactions with other characters (or players) and from interacting with objects in the game and utilising the information to initiate an action. The manner in which the received information is processed (to produce an action) is in turn determined by the ‘personality’ of the character.

With reference to FIG. 2, the embodiment provides a system and method for controlling the actions of a character in a gaming environment. The system, when implemented in software (or in hardware) includes a receiver module 200 which receives input information. The input information is information received as a result of interactions with other characters, players and objects in the game. The receiver module 200 passes the information to an update module 202, which updates a series of values pertaining to a state associated with the character. Once the values are updated, an action determining module 204 is invoked, and the values associated with the state are read and are subsequently utilised to determine the next action of the character.

The “state” of the character are a set of values which define the personality of the character.

Personality

The personality of the character is made up of three different characteristics, namely:

1. Emotional state;

2. Persona state; and

3. Enmity state.

The meaning of each state will be described in more detail later.

Within each state there are a number of sub-states, and each sub-state being allocated a numerical value, which is generally quantised (i.e. increases or decreases in discrete steps) and may vary in a linear or non-linear manner. The sub-states may be conceptualised as a sliding scale, where an action to be performed by the character is determined by the current value (or position) of each of the sub-states.

For example, one sliding scale may extend from ‘Coward’ at one extreme, to ‘Brave’ at the other extreme. Another sliding scale may extend from ‘Happy’ at one extreme to ‘Sad’ at the other extreme.

The combination of each state and sub-state, when taken in totality, is termed the ‘personality matrix’, as it forms a matrix of values which uniquely describes a character and is used as the basis for determining how a character will react to another character, a player or an object.

The values of each of the character's sub-states are not static or fixed, but change over time, as the character's interactions with other characters, players and objects act as a feedback mechanism to alter the value of each of the sub-states in the personality matrix.

In other words, the character's personality matrix is dynamic and constantly evolves and changes over time, by virtue of the character's sub-state levels being modified by every interaction with every other character, player and object encountered by the character.

As every character is, by definition, modified by their interaction with every other character, quite complex, rich and unpredictable behaviour can be developed over time. The feedback mechanism may also function in a manner akin to a ‘learning’ response and can result in the character learning certain traits (analogous to Pavlovian conditioning).

For example, take a simplified character that possesses three emotional sub-states.

The three sub-states are:

Happy/Sad;

Fighting/Fleeing; and

Alone/Grouped.

These sub-states are modified over time by interaction with other characters, players and objects. The modification occurs through transitional Sub State loops, as demonstrated in the pseudo-code below:

Check/Set Hungry/Sated If at critical level, perform predefined action (e.g. find food) Check/Set Fear/Courage If at critical level, perform predefined action (e.g. become more cowardly) Check/Set Loneliness/Togetherness If at critical level, perform predefined action (e.g. find other characters and group)

The simple pseudo-code above demonstrates that certain sub-states are immediate (i.e. they capture an emotion or requirement that must be dealt with immediately), while other sub-states do not deal with immediate needs, but rather, only change after continued exposure to a certain type of interaction.

To take a simple example, hunger is an immediate emotion, in that, if the character is hungry, he will search for food. Once food is found and eaten, the character is no longer hungry, so the immediate need is satisfied and balance is restored. However, if the character does not find food within a give time, the hunger may reach a critical level, at which time other sub-states will be altered, such as a change in the happiness sub-state. For example, if the character remains hungry for longer than a predetermined time, the hunger may translate into increased sadness, or increased anger.

That is, one sub-state may have an influence on (i.e. affect) other sub-states. For example, if a character does not find food after a given period of time, not only is their hunger level affected, but their happiness level is also affected.

A lower happiness level, in turn, may affect a character in one of two ways. Firstly, the manner in which a character reacts to other characters, players or objects may change (i.e. a passive change, since the character's behaviour only changes in response to external stimulus). Secondly, if the happiness level falls below a certain level, the character may automatically invoke an action, whether or not any external stimulus is present. For example, the character may decide to actively search for food once their hunger level reaches a certain level.

The sub-states of the character may be further influenced by building in ‘tendencies’. For example, one character may have a tendency to be hungry all the time (i.e. their hunger value increases rapidly), and therefore their happiness sub-state may be more sensitive to their level of hunger. Another character may not become hungry often (i.e. their hunger level increases slowly), so their happiness sub-state may be less sensitive to their hunger value.

Therefore, each character is capable of developing an individual and unique personality, as it is statistically unlikely that two characters will have exactly the same experiences throughout their lifetime in the game. Moreover, the governing rule set for each character may also be varied.

It is also possible to have the overall state of each of the characters translate into the overall culture of the game. That is, if many characters are ‘nice’, then the overall culture is ‘nice’. For example, if a town (composed of a number of characters) has a reputation for being nice, then characters who visit the town and interact with the characters in the town will have their niceness score increased, due to the interaction. In other words, a ‘personality’ may also be endowed to objects, where appropriate.

Moreover, if there are a collection of characters (or players) that tend to congregate in a particular area, and they all have a high level of niceness, then their interactions with each other will act as a feedback loop, increasing the niceness of each of the individuals in the congregation.

Example Embodiment Emotional States

As stated earlier, in the embodiment described there are three main states, namely: the Emotional State, the Persona State, and the Enmity State.

The emotional state includes a number of sub-states that reflect the current emotional state of the character. The emotional sub-states are affected by interactions that occur around and to the character in the immediate time frame. The emotional sub-states change rapidly and in response to almost every interaction by the character.

Within this state there are five sub-states:

Hungry/Sated;

Fear/Courage;

Loneliness/Togetherness;

Sadness/Happiness; and

Angriness/Peacefulness.

Each of these sub-states is measured by a percentage value, with 50% representing the middle ground of neutrality for each sub-state. A 0% value in each sub-state indicates that the positive emotion in that sub-state is 0%, and the opposing negative sub-state is 100%.

For example, 0% in Hungry/Sated indicates that the character is very hungry, and 100% indicates that the character is very full.

The sub-states are also interrelated, as described above. For example, the Hungry/Sated sub-state, the Fear/Courage sub-state, and the Loneliness/Togetherness sub-state all have an effect on the Sadness/Happiness sub-state.

As the Hungry/Sated and the Fear/Courage sub-state increases, the Sadness/Happiness sub-state also increases (i.e. the character is happier).

For the Loneliness/Togetherness sub-state, the value depends on whether the character likes to be alone, with a small group or with a large group. This will in turn affect the Sadness/Happiness conversely (i.e. if the character likes to be alone, the character will be happier while their Loneliness/Togetherness sub-state is a low value).

The sub-states Hungry/Sated, Fear/Courage and Loneliness/Togetherness have change state values indicating how much they affect the Sadness/Happiness and Angriness/Peacefulness sub-states.

As Sadness/Happiness approaches 100%, the character becomes happier. As Angriness/Peacefulness approaches 100% the character becomes peaceful and placid.

The Sadness/Happiness and Angriness/Peaceful sub-states affect the Persona States and the Enmity Levels. As the emotional sub-states move away from the mean value (50%) they begin to affect the Persona sub-state and Enmity sub-state values.

For example, if Angriness/Peaceful is very low (the character is very angry) this will negatively affect the Persona sub-States and Enmity sub-states, causing the character to attack other characters or players that it may not normally attack.

The effect of certain conditions on each sub-state direction and the resulting action taken by the character is shown below in Table 1, by way of example only.

TABLE 1 Sub-States and their Effect on a Character SUB-STATE CONDITION (SAMPLE) DIRECTION SUB-STATE AFFECTED Eat Up Hungry/Sated Time, Work, Combat Down Defeat foe. Up Fear/Courage Allies defeat foe. Foe badly hurt. Badly hurt. Down Allies defeated. Group gets Up Loneliness/ smaller. Allies Togetherness defeated. (Loner) Group gets bigger. Down Crowd approaches. Group approaches Up Loneliness/ ideal number. Togetherness Group deviates Down (Small Socialiser) from ideal number. Group gets bigger. Up Loneliness/ Group gets Down Togetherness smaller. Allies (Large Socialiser) defeated.

The character may also be affected by events. An example of environmental influences and their effect on a character's transitional states is shown below in Table 2.

TABLE 2 Environmental Factors Affecting Sub-States SUB-STATE EFFECT SAMPLE (GENERAL CASES, MAY BE CONDITIONS DIFFERENT FOR CERTAIN MOBS) Hit Foe Sadness/Happiness up (or down if pacifist). Angriness/Peacefulness down Hurt by Foe Sadness/Happiness down. Angriness/Peacefulness down. Ally Defeated Sadness/Happiness down (unless a loner, then up). Angriness/Peacefulness down. Enemy Defeated Sadness/Happiness up. Angriness/Peacefulness up. Stolen From Sadness/Happiness down. Angriness/Peacefulness down. Gift Received Sadness/Happiness up. Angriness/Peacefulness up. Use Skill Sadness/Happiness up. Successfully Being Forced Sadness/Happiness down. to do Something Happiness will go down each (By Threats or time, but using the new Violence) skill successfully will bring Happiness up.

As can be seen from Tables 1 and 2, a variety of complex behaviours may be built into a rule set utilising an essentially simple input/action model. The rule set also affects the character's ongoing ‘personality’, through the continued variation of their state and sub-state levels. For example, if a character is forced to act against their will (by threat of violence), their Sadness/Happiness state will go down.

The present example is skewed towards the negative, as the example is drawn from a fantasy ‘medieval’ game. However, it will be understood that the character's reaction to interactions with other characters, players or objects may be skewed towards the positive, if desired.

Persona States

The preceding section described the Emotional sub-states of the character. The Emotional sub-states also modify the Persona sub-states, which are semi-permanent (i.e. they are variable, but substantive changes are only effected through constant exposure to certain types of events).

The Persona sub-states are:

Greedy/Generous;

Pride/Humility;

Selfishness/Altruistic;

Cowardice/Courageous;

Disloyalty/Loyalty; and

Cruelty/Kindness.

As with the Emotional sub-states, each Persona sub-state has a 0-100% sliding scale value with 50% being the middle ground of neutrality. A value of 100% results in the character developing a super ego; sane and embodying goodness. A value of 0% results in the character becoming an Id monster; mentally unstable and very evil.

The base value set for each sub-state will depend on the character, and there may be an upper and lower limit imposed on the sub-states to give each character a stereotypical behaviour pattern. For example, a monster may start with a Greedy/Generous value at 30%, which is never allowed to go above 60%. That is, the character may have certain ‘tendencies’ in-built, so that their behaviour will be reasonably predictable.

Each persona sub-state is associated with two flag values and change state values indicating the direction of the Sadness/Happiness effect modifier and the Angriness/Peacefulness effect modifier and how much to modify.

Each flag has four values, namely up, down, random or neutral. If the flag indicates up, the effect of raising the Emotional sub-state will raise the Persona sub-states. If the flag indicates down, the effect of raising the Emotional sub-state will lower the Persona sub-state. If the flag indicates random, the effect of raising or lowering the Emotional sub-state will either raise, lower or do nothing the Persona sub-states. If the flag indicates neutral, the effect of raising or lowering the Emotional sub-state will have no effect on the Persona sub-states.

The change state value indicates how much the Persona sub-states should change in proportion to how much the Emotional sub-states changes (i.e. the ratio of change).

Enmity State

The third state is the Enmity state. The Enmity state determines how the character will react or respond to individuals and groups. Other individuals may include other generated characters or real players, or groups of characters/players. A group may also be associated with an object such as a town, a building, a geographical area, etc.

A 0% value indicates love, a 100% value indicates pure hate and a 50% value is neutral. When a character interacts with another character, player, group or object, the character, a record (in the form of a score) is allocated to their interaction, and is associated with the another character, player, group or object. When the character next interacts with the another character, player, group or object, the score value is accessed, and is utilised to determine the characters response to the another character, player, group or object. Positive interactions yield positive results over time, whereas negative actions yield negative results over time. Default levels are given to the character on creation.

Enmity levels may also be attached to objects, such as cities, towns, buildings, etc. For example, if a character has a number of bad experiences within a city, their Enmity level towards the city may rise, which may make them less likely to return to or visit the city.

There are no set number of enmity sub-states, as the total number of sub-states will depend on the number of characters, players, groups and objects encountered by the character. Enmity sub-states may be pre-existing (e.g. a character is created with an intolerance for another group, such that when they meet a member of that group, they already have a dislike towards them) or they may be created ‘on the fly’ (e.g. a character only creates an enmity level for a human player once the character has met the human player and interacted with the human player for the first time).

Therefore, a character will make a decision on how to interact with another character, player or object based on a sub-set of the values of each sub-state in each of the states. In other words, a decision to talk, trade, attack, run or take any other action, will depend on the value of each of the sub-states.

Simplified Example

The personality matrix and the rule sets can be demonstrated by utilising a simplified example. In the example, it is assumed that there are only two personality states, namely hunger and happiness. It is also assumed that there are only two characters, A and B.

Therefore, with these values, there are three levels in the personality matrix. The first two are hunger and happiness and the third is character A's feelings towards character B (and conversely, character B's feelings towards character A).

At any given time, the values for each character are held in memory.

Let us assume there is a scene in the game where character A meets Character B. Any one of a number of reactions to B's presence may occur, depending on the sub-state levels of A:

-   -   IF A is not hungry AND A's happiness level is high AND A likes         B; THEN A will greet B.     -   IF A is hungry AND A's happiness level is low AND A doesn't like         B; THEN A will attack B.     -   IF A is hungry AND A's happiness level is low AND A has no         previous feelings to B; THEN A will ignore B.     -   IF A is hungry AND A's happiness level is high AND A hates B;         THEN A will ignore B.

As can be seen from the above example, a different action is performed in response to an immediate need to react to a situation (such as meeting another character or being hungry), depending on the current sub-states of the character.

Actions and Goals

Moreover, each character is capable of performing more complex and open ended actions through the setting of long term objectives or ‘goals’. Goals may be achieved or expressed by a single action, or by a series of actions. For example, a goal could be as broad as ‘Defend a location’, ‘Recruit Allies’ or ‘Explore’. These goals are quite open ended. To achieve the goal, a character must be able to break down each goal into an immediate action which, at the least, brings the character closer to achieving the goal.

Actions are specific and straight forward processes that the character can follow.

As stated above, some goals may be created through interaction with another character, player or object. Other goals may be created ‘internally’ when a character's personality sub-states reach a certain level.

In the case of ‘internally’ created goals, the values for all sub-states are provided to a decision algorithm. The algorithm cycles through a number of possible goals and chooses the most desirable goal according to all three personality sub-states of the character (i.e. emotional, persona and enmity).

The values are provided to the decision algorithm on a periodic basis, so that the goals of the character change over time as the personality of the character changes. Again, this works to create complex and rich behaviour patterns.

Moreover, each character may have more than one goal at any given time. However, there is generally a primary goal, which is the goal that determines the immediate actions of a character.

Once a goal (or a series of goals) has been set, an appropriate action (or actions) is assigned, as chosen from a range of possible actions.

If a character has been instructed (say, by another character or by a human player) to achieve a specific goal, the character follows a methodology to determine whether the goal will become the primary goal that motivates the actions of the character. The decision to achieve a goal includes reviewing information derived from the character's current emotional, persona and enmity sub-states and current goal.

For the goal to be achieved, the character needs to undertake certain actions (sometimes simple, sometimes complex and open ended). The action taken will depend, again, on the current personality matrix values of the character, the nature of the goal, and the actions allowed by the character's immediate circumstances. The actions are chosen from a pre-determined rule set.

For example, in a simplistic scenario, the character is told by a leader to explore an area:

-   -   IF the character is NOT hungry, is happy and has a loyal         persona, THEN the goal is accepted.     -   Once the goal is set, there is chosen at least one action         relevant to achieving the goal. In this case, the most relevant         action defined in the rule set is that the character moves to         unchartered land, so the character performs the ‘Move’ action.     -   While the character is moving, input information received by the         character alerts him to the presence of enemies ahead. In this         particular case, the presence of enemies, when combined with the         characters current sub-state levels, results in the character         setting a new goal. The original goal was to explore, but the         new goal is to avoid the enemies. The action defined in the rule         set and associated with the ‘avoid’ goal is the ‘flee’ action.         Therefore, the character flees the area.     -   Once the character loses sight of the enemies, the goal is         accomplished, so it is removed from the goal list. Therefore,         the original goal of exploring again becomes the main or         principal goal. The character's action returns to the ‘Move’         action.

The process of performing actions and reviewing the goal set continues until the primary goal is completed, or another goal takes priority as the primary goal.

Actions may take the character's current sub-states into account, to decide if the character will take the action. Other actions (such as satisfying hunger) are automatic (in that the decision to eat is only influenced by the ‘hunger’ sub-state and not other sub-states).

As can be seen, even from this overly simplistic example, a number of different behaviours can be generated from a relatively small number of personality sub-states in the personality matrix, when combined with a rule set embodied in a list of actions that are performed in response to goals.

As the number of available personality sub-states increases and the range of behaviours (i.e. goals and actions) available to a character increase, quite complex and rich behaviours and interactions can take place between characters, between characters and objects and also between characters and human players.

In other words, the behaviour of the character is not determined by a simple finite state artificial intelligence algorithm, but will vary over time as the character's various personality levels change.

Therefore, a human player, while possibly being able to guess the likely behaviour of a character, will not be able to predict their exact behaviour. This makes any game more challenging and interesting to the player, as they cannot always predict what action a character will take.

The ongoing development and change effected by the variation of levels within the sub-states also makes it near impossible for a human player to deconstruct the actions of a character, with a view to predicting behaviour.

The embodiment described herein provides a system and method for providing rich, complex, and interactive characters in a gaming system. However, it will be understood that the underlying technology may have application in other fields, where independent units are required to react to an environment in an intelligent manner.

For example, embodiments of the present invention may be applied in real life situations. Any suitable set of variables could be substituted for the ‘emotion’ sub-states, to in turn produce rich and ‘intelligent’ behaviour in machinery. One example is a series of exploration robots which are designed to search for minerals within a given area. Each robot may be equipped with the ability to make decisions based on a number of variables, which vary over time depending on information received from the surrounding environment. The robots may also be designed to react to each other in intelligent ways if they cross paths. For example, they may be able to transfer information regarding already searched areas when they cross paths, resulting in little or no overlap and a more efficient search of the defined area.

Yet another application is a robotic pet, which responds to different actions by a human owner. The toy is capable of acting in a complex, unpredictable and realistic manner, as the manner in which the toy reacts is based on a personality matrix.

The embodiment described herein is a software application which is arranged to be executed on either a single computing system, or alternatively, on a plurality or ‘cluster’ of computing systems. The embodiment may be a standalone application, or may be a module or component of a larger software application.

Such variations and modifications are within the purview of a person skilled in the art. 

1. A system for controlling an action of a character in a gaming environment, comprising, a receiver module arranged to receive input information, an update module arranged to apply the input information to modify at least one value pertaining to at least one state associated with the character, and an action determining module arranged to receive the at least one value pertaining to the at least one state, wherein the value is utilised to at least in part determine the action of the character within the gaming environment.
 2. A system in accordance with claim 1, further comprising a goal-setting module arranged to apply the at least one value of the at least one state to set a goal to be performed by the character, wherein the goal in part determines the action of a character.
 3. A system in accordance with claim 2, wherein the goal-setting module assesses a plurality of goals, and ranks each one of the plurality of goals in a hierarchy of importance.
 4. A system in accordance with claim 3, wherein the goal-setting module provides the goal with the highest importance to the action determining module, wherein only the supplied highest importance goal determines the actions of the character.
 5. A system in accordance with claim 4, wherein, on receiving confirmation that the goal of highest importance has been achieved, the goal-setting module provides the next goal in the hierarchy to the action determining module.
 6. A system in accordance with claim 2, wherein the action determining module utilises the received goal and the at least one value of the at least one state to determine the action to be performed by the character.
 7. A system in accordance with claim 6, wherein the action determining module utilises a rule set to determine the action to be performed by the character.
 8. A system in accordance with claim 1, wherein the input information includes information derived from an interaction with another character in the gaming environment.
 9. A system in accordance with claim 1, wherein the input information includes information derived from an interaction with a human player in the gaming environment.
 10. A system in accordance with claim 1, wherein the input information includes information relating to an interaction with an object in the gaming environment.
 11. A system in accordance with claims 1, wherein there are three states.
 12. A system in accordance with claim 11, wherein the three states are an Emotional state, a Persona state, and an Enmity state.
 13. A system in accordance with claim 11, wherein each state includes a plurality of sub-states.
 14. A system in accordance with claim 13, wherein each sub-state is quantified as a numerical value.
 15. A system in accordance with claim 14, wherein each sub-state is expressed as a percentage value.
 16. A system in accordance with claim 13, wherein each sub-state is representative of a characteristic of human emotion.
 17. A system in accordance with claim 13, wherein the update module further includes a matrix update routine arranged to, according to a predetermined rule set, determine whether a change in one sub-state value effects a variation—in at least one other sub-state value, and if so, updating the at least one other sub-state value.
 18. A system in accordance with claim 17, wherein, for each character, the numeric value of each sub-state is limited to a defined range of numeric values.
 19. A system in accordance with claim 1, further comprising an area module, arranged to receive at least one value pertaining to the at least one state of at least one character within a defined area in the virtual environment, and produce an average value of the at least one value pertaining to the at least one state, wherein the average value is ascribed to the defined area in the virtual environment.
 20. A system in accordance with claim 19, wherein the average value of the defined area in the virtual environment is provided as input information to the update module when a character enters the defined area in the virtual environment.
 21. A method for controlling an action of a character in a gaming environment, comprising the steps of receiving input information, applying the input information to modify at least one value pertaining to at least one state associated with the character, and utilising the at least one value pertaining to the at least one state to at least in part determine the action of the character within the gaming environment.
 22. A method in accordance with claim 21, further comprising the step of applying the at least one value of the at least one state to set a goal to be performed by the character, whereby the goal in part determines the action of a character.
 23. A method in accordance with claim 22, comprising the further step of assessing a plurality of goals, and ranking each one of the plurality of goals in a hierarchy of importance.
 24. A method in accordance with claim 23, comprising the further step of utilising only the supplied highest importance goal determines the actions of the character.
 25. A method in accordance with claim 24, comprising the further step of, on receiving confirmation that the goal of highest importance has been achieved, providing the next goal in the hierarchy to the action determining module.
 26. A method in accordance with claim 22, comprising the further step of utilising the received goal and the at least one value of the at least one state to determine the action to be performed by the character.
 27. A method in accordance with claim 26, comprising the further step of utilising a rule set to determine the action to be performed by the character.
 28. A method in accordance with claim 20, whereby the input information includes information derived from an interaction with another character in the gaming environment.
 29. A method in accordance with claim 21, whereby the input information includes information derived from an interaction with a human player in the gaming environment.
 30. A method in accordance with claim 21, wherein the input information includes information relating to an interaction with an object in the gaming environment.
 31. A method in accordance with claim 21, whereby there are three states.
 32. A method in accordance with claim 31, whereby the three states are an Emotional state, a Persona state, and an Enmity state.
 33. A method in accordance with claim 31, whereby each state includes a plurality of sub-states.
 34. A method in accordance with claim 33, whereby each sub-state is quantified as a numerical value.
 35. A method in accordance with claim 34, whereby each sub-state is expressed as a percentage value.
 36. A method in accordance with claim 33, whereby each sub-state is representative of a characteristic of human emotion.
 37. A method in accordance with claim 33, comprising the further step of determining whether a change in one sub-state value effects a variation in at least one other sub-state value, and if so, updating the at least one other sub-state value.
 38. A method in accordance with claim 37, whereby, for each character, the numeric value of each sub-state is limited to a defined range of numeric values.
 39. A method in accordance with claim 38, comprising the further step of receiving at least one value pertaining to the at least one state of at least one character within a defined area in the virtual environment, and producing an average value of the at least one value pertaining to the at least one state, whereby the average value is ascribed to the defined area in the virtual environment.
 40. A method in accordance with claim 39, comprising the further step of providing average value of the defined area in the virtual environment as input information to the update module when a character enters the defined area in the virtual environment.
 41. A computer program including instructions arranged to, when executed on a computing system, perform the method steps of claim
 21. 42. A computer readable medium incorporating a computer program in accordance with claim
 41. 